.TH GENROMFS 8 "Jun 2007" "Version 0.5.2"
.SH NAME
genromfs \- create a romfs image
.SH SYNOPSIS
.B genromfs
.B \-f device
[
.B \-d source
]
[
.B \-V label
]
[
.B \-a alignment
]
[
.B \-A alignment,pattern
]
[
.B \-x pattern
]
[
.B \-v
]
.SH DESCRIPTION
.B genromfs
is used to create a romfs file system image, usually directly on
a block device, or for test purposes, in a plain file.
It is the
.I mkfs
equivalent of other filesystems.
.PP
.B genromfs
will scan the current directory and its subdirectories, build a romfs
image from the files found, and output it to the file or device you
specified.
.PP
During scanning, it recognizes a special notation.  If a file begins
with the @ sign
(and is empty otherwise),
it refers to a device special node in the format:
.B @name,type,major,minor.
type can be
.I b
for block devices,
.I c
for character devices,
and
.I p
for fifos.
The linux virtual console 1 can thus be included as a
file with the name:
.B @tty1,c,4,1

.SH OPTIONS
.TP
.BI -f \ output
Specifies the file to output the image to.
This option is required.
.TP
.BI -d \ source
Use the specified directory as the source, not the current directory.
.TP
.BI -V \ label
Build the image with the specified volume label.  Currently it is
not used by the kernel, but it will be recorded in the image.
.TP
.BI -a \ alignment
Align regular files to a larger boundary.
.B genromfs
will align data of each regular file in the resulting image to the specified
alignment, while keeping the image compatible with the original romfs
definition (by adding pad bytes between last node before the file and file's
header).  By default,
.B genromfs
will guarantee only an alignment of 16 bytes.
.TP
.BI -A \ alignment,pattern
Align objects matching shell wildcard pattern to alignment bytes.
If one object matches more patterns, then the highest alignment is chosen.
Alignment has to be a power of two. Patterns either don't contain any
slashes, in which case files matching those patterns are matched in all
directories, or start with a leading slash, in which case they are matched
against absolute paths inside of the romfs filesystem (that is, as if you
chrooted into the rom filesystem).
.TP
.BI -x \ pattern
Allow to exclude files that match a pattern.
It's useful to exclude CVS directories and backup files (ending in a '~').
.TP
.BI -v
Verbose operation,
.B genromfs
will print each file which is included in the image, along with
its offset.
.SH EXAMPLES

.EX
.B
   genromfs -d root -f /dev/fd0 -V 'Secret labs install disk'
.EE

All files in the 
.I root
directory will be written to 
.B /dev/fd0
as a new romfs filesystem image.

.EX
.B
   genromfs -d root -f /dev/fd0 -A 2048,/.. -A '4096,*.boot' -a 512 -V 'Bootable floppy'
.EE

Generate the image and place file data of all regular files on 512 bytes
boundaries or on 4K boundaries, if they have the .boot extension.
Additionally,
align the romfs header of the '..' entry in the root directory
on a 2K boundary.  Effectively, this makes sure that the
romfs image uses the least
possible space in the first 2048 bytes.
.PP
You can use the generated image (if you have the
romfs module loaded, or compiled into the kernel) via:

.EX
.B
   mount -t romfs /dev/fd0 /mnt
.EE

.SH AUTHOR
This manual page was initially written by Christoph Lameter <clameter@debian.org>,
for the Debian GNU/Linux system.
.SH SEE ALSO
.BR mkfs (8),
.BR mount (8),
.BR mkisofs (8)
